using System;
using System.Collections.Generic;
using System.Text;
using EYDIngenieria.ERP.ObjetosDeNegocio.Dominio;
using Castle.ActiveRecord;
using NHibernate.Expression;

namespace EYDIngenieria.ERP.ObjetosDeNegocio.Repositorio
{
    public class RepositorioRol
    {
        public void Agregar(Rol r)
        {
          r.Create();
        }

        public Rol[] Listar()
        {
            ICriterion[] query = {Expression.Eq("Activo", true) };
            Order[] sort = { Order.Asc("Codigo") };
            return Rol.FindAll(sort, query);
        }

        public void Modificar(Rol r)
        {
            r.UpdateAndFlush();
        }

        public void Eliminar(Rol r)
        {
            //r.DeleteAndFlush();
            r.Activo = false;
            r.UpdateAndFlush();
        }

       public Rol[] Buscar(string codigo)
       {
          return Rol.FindAllByProperty("Codigo", "Codigo", codigo);
       }

       public Rol Obtener(int id)
       {
           return Rol.Find(id);
       }
    }
}
